// localStorage sessionStorage cookie session 区别

// localStorage(你不删除一直在)、sessionStorage(网页一关闭就消失了)

// localStorage 存储上限为5M
// indexDB(浏览器的非关系型数据库) 能存更多

// cookie 除了存储功能，它每次请求还会被携带上 存储大小为4k
// 解决http无状态的问题
// 不要什么都写到cookie里 会造成流量浪费
// 不要存放敏感信息


const http = require('http');

http.createServer((req, res) => {
    if(req.url === '/read'){
        res.end(req.headers.cookie || 'empty');

        //多个cookie获取到的是这样的形式↓
        //count=10; xingming=ahhh
    }

    if(req.url === '/write'){
        // res.setHeader('Set-Cookie', 'count=10'); //`=`前的会作为cookie的name `=`后的会作为cookie的value

        // res.setHeader('Set-Cookie', 'count=10; path=/read'); //←虽然是/read，但也能写入，只是我们在/write下打开浏览器的cookie storage看不到写入的cookie，必须在/read路径下才能看见，同理的还有domain

        // res.setHeader('Set-Cookie', 'count=10; domain=a.ahhh.cn');

        // res.setHeader('Set-Cookie', 'count=10; max-age=5'); //单位为

        //设置多个cookie 不能调用多次res.setHeader('Set-Cookie',...) 后面的会覆盖前面的
        res.setHeader('Set-Cookie', ['count=10','xingming=ahhh']);

        res.end('write ok');
        return;
    }

    res.end('not found');
}).listen(3000);

/* 参看cookie01.png
name和value
res.setHeader('Set-Cookie', 'count=10')
`=`前的会作为cookie的name `=`后的会作为cookie的value

domain 域名
cookie不能跨域，但可以与子域共享 比如www.baidu.com可以和music.baidu.com共享

path 可以控制cookie在哪个路径下生效 能减少cookie的传输，非指定路径下就不会携带cookie了
/ 表示以`/`开头的都可以

Expires/Max-Age : Session 关闭整个浏览器后 cookie消失(注意，只关闭页卡是不会消失的)
Expires绝对时间 Max-Age相对时间

HTTP 默认在浏览器端能改cookie 置为httpOnly后就不能了
document.cookie = "count=100" //只会更改count的值 不会删除其他cookie的值
"count=100"
document.cookie
"count=100"
*/